package controller;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.TreeMap;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Test {
	public static void main(String[] args) {
		TreeMap arrLan = new TreeMap();
		arrLan.put("en", "UTF-8");
		arrLan.put("es", "ISO-8859-1");
		arrLan.put("af", "ISO-8859-1");
		arrLan.put("sq", "ISO-8859-1");
		arrLan.put("ar", "windows-1256");
		arrLan.put("hy", "UTF-8");
		arrLan.put("az", "ISO-8859-9");
		arrLan.put("eu", "ISO-8859-1");
		arrLan.put("be", "windows-1251");
		arrLan.put("bn", "ISO-8859-1");
		arrLan.put("bg", "windows-1251");
		arrLan.put("ca", "UTF-8");
		arrLan.put("zh-CN", "GB2312");
		arrLan.put("hr", "ISO-8859-2");
		arrLan.put("cs", "ISO-8859-2");
		arrLan.put("da", "ISO-8859-1");
		arrLan.put("nl", "ISO-8859-1");
		arrLan.put("eo", "ISO-8859-1");
		arrLan.put("et", "windows-1257");
		arrLan.put("tl", "ISO-8859-1");
		arrLan.put("fi", "ISO-8859-1");
		arrLan.put("fr", "ISO-8859-1");
		arrLan.put("gl", "ISO-8859-1");
		arrLan.put("ka", "UTF-8");
		arrLan.put("de", "ISO-8859-1");
		arrLan.put("el", "ISO-8859-7");
		arrLan.put("gu", "ISO-8859-1");
		arrLan.put("ht", "ISO-8859-1");
		arrLan.put("iw", "windows-1255");
		arrLan.put("hi", "ISO-8859-1");
		arrLan.put("hu", "ISO-8859-2");
		arrLan.put("is", "ISO-8859-1");
		arrLan.put("id", "ISO-8859-1");
		arrLan.put("ga", "ISO-8859-1");
		arrLan.put("it", "ISO-8859-1");
		arrLan.put("ja", "Shift_JIS");
		arrLan.put("kn", "ISO-8859-1");
		arrLan.put("ko", "EUC-KR");
		arrLan.put("la", "ISO-8859-1");
		arrLan.put("lv", "windows-1257");
		arrLan.put("lt", "windows-1257");
		arrLan.put("mk", "windows-1251");
		arrLan.put("ms", "ISO-8859-1");
		arrLan.put("mt", "ISO-8859-1");
		arrLan.put("no", "ISO-8859-1");
		arrLan.put("fa", "windows-1256");
		arrLan.put("pl", "ISO-8859-2");
		arrLan.put("pt", "ISO-8859-1");
		arrLan.put("ro", "ISO-8859-2");
		arrLan.put("ru", "windows-1251");
		arrLan.put("sr", "ISO-8859-2");
		arrLan.put("sk", "ISO-8859-2");
		arrLan.put("sl", "ISO-8859-2");
		arrLan.put("sw", "ISO-8859-1");
		arrLan.put("sv", "ISO-8859-1");
		arrLan.put("ta", "ISO-8859-1");
		arrLan.put("te", "ISO-8859-1");
		arrLan.put("th", "windows-874");
		arrLan.put("tr", "ISO-8859-9");
		arrLan.put("uk", "windows-1251");
		arrLan.put("ur", "windows-1256");
		arrLan.put("vi", "ISO-8859-1");
		arrLan.put("cy", "ISO-8859-1");
		arrLan.put("yi", "windows-1255");
		
		String content="";
		String language = "ja";
		String urls = "http://www.5ty.org";
		
		String link = "http://translate.google.com/translate?hl=en&rurl=translate.google.com&sl=auto&tl="+language+"&twu=1&u="+urls;
		String charset="utf-8";
		URL url;
		try {
			content = Utils.GetHtml(link, charset);
			
			Document doc = Jsoup.parse(content);
			
			link = "http://translate.google.com"+doc.select("iframe").attr("src");
			String location = "";
			try {
				url = new URL(link);
				HttpURLConnection connection = (HttpURLConnection) url.openConnection();
			    connection.setInstanceFollowRedirects(true);
			    connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.21) Gecko/20110830 AlexaToolbar/alxf-2.14 AlexaToolbar/pXVUnvuf-1.2 Firefox/3.6.21");
				connection.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
				connection.setRequestProperty("Accept-Language", "en-us,en;q=0.5");
				connection.setRequestProperty("Accept-Charset", "	ISO-8859-1,utf-8;q=0.7,*;q=0.7");
				connection.setRequestProperty("Connection", "keep-alive");
				connection.setRequestProperty("Keep-Alive", "115");
				connection.setRequestProperty("Cookie", "PREF=ID=987bb7a56b1cc7bc:U=691fa246d56f502e:FF=0:TM=1314876638:LM=1314876681:S=yBXzqp_WQq9ykX-j; NID=50=nfNXg7ymSSsfdzMnkEuo7t1GCgIEwcK5xmpFhu1mQWwvNI5nFHLZpRsy_1XnaoKrdj9hnz7za9-M2OIO99phfFSTmXln-xCvqzJaRWHsN0EQKgpmkvgUDTWPVF4I4c9L; SID=DQAAALcAAADhqr-J8Ls3CKhmbRjwTMMP1DjmIvR8qBFxv99saTaFFgoRsVf18W4p_BTocYoxYNMvsvh9sfjMj7KqLyd_s9Y0lwYY_Rrljd7t5IpKBTWWnsv9VSJ_qelH943zV8YIT3uuIdJbHhFlCnVEu_YealZoldWjf4VirYR0PIrr0i4_JU2JCHRmpyW0ACt3KcyLkukJlGDyT5yC5js3CBSTAhnWSylBpMWPWyWJzqXe2BQFcdfuU_qo00pAR-uEcMQ437M; HSID=A9Z-j3CKhzDEykAES");
				connection.setRequestProperty("Cache-Control", "max-age=0");
				BufferedReader reader=null;
				
			    reader= new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName(charset)));
			    
				char[] buf = new char[102102];
				int numRead=0;
		        while((numRead=reader.read(buf)) != -1){
		            String readData = String.valueOf(buf, 0, numRead);
		            content += readData;
		            buf = new char[102102];
		        }
		        reader.close();
		        
		        location = connection.getHeaderField("Location");
		        System.out.println(location);
			} catch (MalformedURLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	        
			content = Utils.GetHtml(location, (String)arrLan.get(language));
	        
		}  catch (Exception e) {
			
			e.printStackTrace();
		}
		System.out.println(content);
	}
}
